import request from './network'

/**
 * 立即购买--结算（将商品信息规整）
 */
export function submitOrderApi(token, data) {
  return request({
    url: 'mpms/v1/order/buyNow',
    header: {
      Authorization: 'Bearer ' + token
    },
    data
  })
}

/**
 * 立即购买--生成订单
 */
export function generateOrderApi(token, data) {
  return request({
    url: 'mpms/v1/order/buyNowGenerateOrder',
    method: 'post',
    header: {
      Authorization: 'Bearer ' + token
    },
    data
  })
}

/**
 * 订单支付跳过接口（更改订单状态）
 * @param {*} token 登录token
 * @param {*} header 
 * @param {*} data 
 */
export function payOrderSkipApi(token, header,data) {
  return request({
    url: 'mpms/v1/order/skipPay', //跳过支付
    method: 'post',
    header: {
      Authorization: 'Bearer ' + token,
      ...header
    },
    data
  })
}

/**
 * 订单支付接口（更改订单状态）
 * @param {*} token 登录token
 * @param {*} header 
 * @param {*} data 
 */
export function payOrderApi(token, header,data) {
  return request({
    url: 'mpms/v1/wechat/pay/generateOrderToPay',
    method: 'post',
    header: {
      Authorization: 'Bearer ' + token,
      ...header
    },
    data
  })
}

/**
 * 购买人申请代付--上级金豆支付
 * @param {*} token 登录token
 * @param {*} header 
 * @param {*} data {orderId 订单id}
 */
export function payOrderBeanieApi(token, header,data) {
  return request({
    url: 'mpms/v1/order/payInstead/apply',
    method: 'post',
    header: {
      Authorization: 'Bearer ' + token,
      ...header
    },
    data
  })
}
/**
 * 查看支付方式
 * @param {*} token 登录token
 */
export function getPaymentApi(token) {
  return request({
    url: 'mpms/v1/user/getPayment',
    header: {
      Authorization: 'Bearer ' + token,
    },
  })
}

/**
 * 订单确认收货跳过接口（更改订单状态）
 * @param {*} token 
 * @param {*} header 
 * @param {*} data 
 */
export function confirmReceiptApi(token, header, data) {
  return request({
    url: 'mpms/v1/order/confirm',
    method: 'post',
    header: {
      Authorization: 'Bearer ' + token,
      ...header
    },
    data
  })
}

/**
 * 查询物流详情
 * @param {*} token 
 * @param {*} data {deliveryNo: 物流单号,phone: 手机号}
 */
export function deliveryDetailApi(token, data) {
  return request({
    url: 'mpms/v1/order/express/track',
    header: {
      Authorization: 'Bearer ' + token,
    },
    data
  })
}

/**
 * 查询订单列表
 * @param {*} token 
 * @param {*} data {pageNum 页码 pageSize 页面大小 status 是
订单状态（0待付款/1待发货/2待收货/3交易完成/4交易关闭/5已评价） paymentMethod 支付方式（0微信 1支付宝 2积分）}
 */
export function orderListApi(token, data) {
  return request({
    url: 'mpms/v1/order/list',
    header: {
      Authorization: 'Bearer ' + token
    },
    data
  })
}

/**
 * 查询订单详情
 * @param {*} token 登录的token值
 * @param {*} data {id: 订单id}
 */
export function orderDetailApi(token, data) {
  return request({
    url: 'mpms/v1/order/query',
    header: {
      Authorization: 'Bearer ' + token
    },
    data
  })
}


/**
 * 发起微信支付
 * @param {*} payParams 调用支付接口返回的支付参数
 */
export function wxPayment(payParams){
  return new Promise((resolve, reject) => {
    wx.requestPayment({ 
      nonceStr: payParams.nonceStr, //随机字符串
      package: "prepay_id=" + payParams.prepayId, //统一下单接口返回的prepay_id
      paySign: payParams.paySign, //签名
      signType:  payParams.signType, //签名算法
      timeStamp: payParams.timeStamp + '', //时间戳
      success:(res) => {
        // 支付成功处理逻辑
        resolve(res)
      },
      fail:(err) => {
        // 支付失败处理逻辑
        reject(err)
      },
    });
  })
}

/**
 * 查询支付信息  ---防止微信回调失败
 * @param {*} token 
 * @param {*} data {orderNo: 订单编号}
 */
export function viewPayInfo(token, data){
  return request({
    url: 'mpms/v1/wechat/pay/query',
    header: {
      Authorization: 'Bearer ' + token
    },
    data
  })
}

/**
 * 立即兑换--结算（将商品信息规整）
 */
export function submitPointsOrderApi(token, data) {
  return request({
    url: 'mpms/v1/order/buyPoints',
    header: {
      Authorization: 'Bearer ' + token
    },
    data
  })
}

/**
 * 立即兑换--生成订单
 */
export function generatePointsOrderApi(token, data) {
  return request({
    url: 'mpms/v1/order/buyPointsGenerateOrder',
    method: 'post',
    header: {
      Authorization: 'Bearer ' + token
    },
    data
  })
}

/**
 * 购物车商品结算
 * @param {*} data { ids 商品列表id数组 }
 */
export function submitCartOrderApi(token, data) {
  return request({
    url: 'mpms/v1/order/confirmOrder?ids=' + data.ids,
    header: {
      Authorization: 'Bearer ' + token
    },
  })
}

/**
 * 购物车生成订单
 * @param {*} data { addrId 地址id  goodsIds 商品id数组 }
 */
export function generateCartOrderApi(token, data) {
  return request({
    url: 'mpms/v1/order/generateOrder',
    method: 'post',
    header: {
      Authorization: 'Bearer ' + token
    },
    data
  })
}

/**
 * 取消订单
 * @param {*} data { id 订单id}
 */
export function orderCancelApi(token, header, data) {
  return request({
    url: 'mpms/v1/order/cancel',
    method: 'post',
    header: {
      ...header,
      Authorization: 'Bearer ' + token
    },
    data
  })
}
/**
 * 删除订单
 * @param {*} data { id 订单id}
 */
export function orderDeleteApi(token, header, data) {
  return request({
    url: 'mpms/v1/order/delete',
    method: 'delete',
    header: {
      ...header,
      Authorization: 'Bearer ' + token
    },
    data
  })
}
/**
 * 邀请人（上级）代付
 * @param {*} data { orderId 订单id}
 */
export function beaniePayApi(token, header, data) {
  return request({
    url: 'mpms/v1/order/payInstead',
    method: 'post',
    header: {
      ...header,
      Authorization: 'Bearer ' + token
    },
    data
  })
}